package com.rj.gpdata.domain.res;

import lombok.Data;
import org.springframework.util.StringUtils;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.regex.Matcher;
import java.util.regex.Pattern;

/**
 * 获取基金成分数据
 * @author rj
 * @date 2021/12/27
 * @version V1.0
 **/
@Data
public class JJcfDataRes {
    private String text;
    // 定义正则表达式模式
    private String pattern = "id='gpdmList'>(.*?)</div>";
    private List<Map> datas=new ArrayList<>();
    public void handleData(String securityCode){
        // 编译正则表达式
        Pattern r = Pattern.compile(pattern);
        Matcher m = r.matcher(text);
        // 查找匹配项
        if (m.find()) {
            // 提取匹配的内容
            String extractedContent = m.group(1);
            System.out.println("提取的内容: " + extractedContent);
            // 移除末尾的逗号并分割成数组
            String[] codes = extractedContent.replaceAll(",$", "").split(",");
            // 输出所有代码
            for (String code : codes) {
                String[] codeArr = code.split("\\.");
                if(StringUtils.hasLength(code) && codeArr.length ==2){
                    Map<String, Object> map = new HashMap<>();
                    map.put("JJ_CODE", securityCode);
                    map.put("SECURITY_CODE",codeArr[1]);
                    map.put("SCLX", codeArr[0]);
                    map.put("JJ_CODE", securityCode);
                    datas.add(map);
                }

            }
        } else {
            System.out.println("未找到匹配的内容");
        }
    }
}
